﻿// 4580. 砝码称重.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

/*
https://www.acwing.com/problem/content/4583/


砝码是一种作为质量标准的物体，通常为金属块或金属片，可以用作称量较精准的质量。

给定一个整数 n
，我们需要选取一些砝码用于称量，砝码只能放在一边，要求：

所有选取砝码的总重量恰好为 n
。
每个选取砝码的重量 x
 都是满足 1≤x≤n
 的正整数。
可以选取多个重量相同的砝码，例如选取两个重量为 1
 的砝码。
利用选取的砝码（部分或全部），可以组成 1∼n
 之间的任意整数重量。
选取砝码的数量应尽可能少。
请你计算并输出选取砝码的最少可能数量。

输入格式
共一行，一个整数 n
。

输出格式
一个整数，表示选取砝码的最少可能数量。

数据范围
前三个测试点满足 1≤n≤10
。
所有测试点满足 1≤n≤109
。

输入样例1：
6
输出样例1：
3
样例1解释
在此样例中，我们只需要选取重量为 1,2,3
 的砝码各一个，即可组成 1∼6
 之间的任意整数重量：

1=1
2=2
3=3
4=1+3
5=2+3
6=1+2+3
所以最少需要 3
 个砝码。

输入样例2：
2
输出样例2：
2
样例2解释
在此样例中，我们可以选取两个重量为 1
 的砝码，即可组成 1
 和 2
 两种重量。
*/
#include <iostream>

int main()
{
    std::cout << "Hello World!\n";
}

 